跳到主要内容

238 除自身以外数组的乘积

https://leetcode.cn/leetbook/read/top-interview-questions-hard/xw8dz6/

cost:

class Solution {
public:
vector<int> productExceptSelf(vector<int>& nums) {
vector<int> res(nums.size(), 0);
res[0] = 1;
for (int i = 1; i < nums.size(); i++) {
res[i] = nums[i - 1] * res[i - 1];
}
int lastNum = nums[nums.size() - 1];
nums[nums.size() - 1] = 1;
for (int i = nums.size() - 2; i >= 0; i--) {
int product = nums[i + 1] * lastNum;
lastNum = nums[i];
nums[i] = product;
}
for (int i = 0; i < nums.size(); i++) {
res[i] = res[i] * nums[i];
}
return res;
}
};